| | Enteras | Numéricas-----| Reales Tipos --------| | Doble precisión de constantes | | AlfanuméricasEl tipo es el atributo asociado con una constante que especifica de qué manera esta constante será almacenada, interpretada u operada.
En la escritura de constantes de tipo numérico se deben observar las siguientes reglas:
b) Una constante se puede expresar en forma exponencial utilizando la letra E que corresponde al número 10, así por ejemplo la cantidad 2.5E-5 corresponde a 2.5x10^(-5). El exponente puede variar desde 38 hasta -38, aunque este rango puede variar de una computadora a otra. Además el exponente debe ser un número entero positivo o negativo, pero no decimal.
c) En la mayoría de las versiones del lenguaje BASIC se pueden tener números de hasta 8, 9 o más cifras significativas.
| | Enteras | Numéricas-----| Reales Variables ------| | Doble precisión | | AlfanuméricasUna variable alfanumérica representa una serie de caracteres los cuales pueden consistir de letras, número y caracteres especiales.
El número máximo de caracteres que puede contener una variable alfanumérica varía de versión a versión de BASIC, en algunos puede contener hasta 15 caracteres, en otras hasta 4095.
Es de tomar en cuenta que, a pesar de que una variable alfanumérica contenga únicamente números, ésta en realidad no puede considerarse como variable numérica.
Para escribir una variable numérica se debe emplear una letra o bien una letra seguida por dígito.
Una variable alfanumérica se debe escribir como una letra seguida por el signo de pesos $.
Algunas versiones del lenguaje BASIC permiten escribir el nombre de una variable numérica como letra seguida de letra; además las variables alfanuméricas pueden ser escritas como letra seguida de dígito, seguida del signo de pesos $, o bien como letra seguida de letra, seguida del signo de pesos $.
Una expresión aritmética o fórmula puede estar formada por una constante, una variable numérica o una combinación de constantes, variables numéricas y operadores, sin embargo es necesario que cualquier variable numérica que aparezca en una fórmula se le haya asignado previamente un valor numérico.
2.- La multiplicación y división, dentro de una fórmula en la que aparecen multiplicación y división, se ejecutan según su orden de aparición ya que ambas tienen la misma jerarquía.
3.- Suma y resta, al aparecer en una fórmula operaciones de suma y resta, también se ejecutan según su orden de aparición ya que tienen la misma jerarquía.
Cabe aclarar que las operaciones se ejecutan de izquierda a derecha dentro de un mismo grupo jerárquico.
Una forma de alterar la jerarquía normal de ejecución de las operaciones, es mediante el uso de paréntesis ya que en una fórmula en la que aparezcan paréntesis, siempre por pares (abre, cierra), se realizan primero las operaciones que se encuentran dentro de los paréntesis observando la jerarquía ya establecida antes.
Función Descripción ABS(X) valor absoluto de x ATN(X) ángulo cuya tangente es x COS(X) coseno de x COT(X) cotangente de x EXP(X) exponencial de x INT(X) asigna el mayor valor entero de x LOG(X) logaritmo natural de x SGN(X) determina el signo de x SIN(X) seno de x SQR(X) raíz cuadrada de x TAN(X) tangente de xLas funciones matemáticas descritas son subprogramas que forman parte integral del lenguaje, de tal manera que basta hacer referencia a la función deseada dentro del programa para que ejecute la serie de instrucciones correspondientes a dicha función.
La parte que se encuentra encerrada dentro del paréntesis recibe el nombre de argumento.
El valor del argumento para las funciones trigonométricas como seno, coseno, etc., se debe proporcionar en radianes.
2.- Cada proposición se inicia con un número entero o número de proposición, el cual no debe aparecer en dos o más proposiciones.
3.- La numeración debe ser creciente.
4.- A continuación del número de proposiciones debe ir la instrucción que indica la operación a ejecutar.
La proposición READ se utiliza siempre en combinación con la declaración DATA; esta última se forma con un número de proposición, la palabra DATA y una lista de constantes numéricas o alfanuméricas separadas por comas.
La declaración DATA sirve para colocar los datos que serán asignados mediante la proposición READ; puede ser colocada en cualquier punto del programa, aunque se acostumbra colocarla al final del mismo.
Con la proposición READ los datos forman parte del programa fuente; si se desean cambiar se deben sustituir las líneas DATA que los contengan.
Aunque por facilidad es costumbre que para cada READ se escriba un DATA correspondiente, esto no es necesario pues es posible tener varias proposiciones READ y una sola proposición DATA, con la condición de que los datos que figuran en ella deben ser tantos como variables aparezcan en la proposición READ.
La forma de utilizar la proposición DATA es escribir en primer lugar el número de proposición, en seguida la palabra DATA y a continuación los valores numéricos o alfanuméricos de las variables que figuran en la o las proposiciones READ, separadas por comas. Cuando se trata de un dato alfanumérico, éste puede contener comas, puntos y coma o espacios en blanco pero estará siempre delimitado por comillas.
10 READ X,Y,Z 20 READ W,A$,B$ 30 READ P(1),P(2),P(3),P(4) ... 140 DATA 5,9,-4 150 DATA 100,ALFA,BETA 160 DATA 30,40,50,60Los valores que son asignados a las diferentes variables con estas proposiciones son: X=5, Y=9, Z=-4, W=100, A$=ALFA, B$=BETA, P(1)=30, P(2)=40, P(3)=50, P(4)=60.
En lugar de tres proposiciones DATA podría ponerse una sola en la siguiente forma: 140 DATA 5,9,-4,100,ALFA,BETA,30,40,50,60
10 READ A,B$,C,D$ ... 80 RESTORE 90 READ W,X$,Y,Z$ 150 DATA 1,"PRIMERO",2,"SEGUNDO"En este ejemplo la proposición 10 (READ) hace que A=1, B$="PRIMERO", C=2, D$="SEGUNDO". Siguiendo la secuencia de instrucciones nos encontramos con la proposición 90 que es otro READ la cual de no estar precedida por la proposición 80 RESTORE implicaría un nuevo juego de datos, sin embargo la proposición RESTORE antes del segundo READ provoca que se vuelvan a asignar los valores 1, "PRIMERO", 2, "SEGUNDO" pero ahora a las variables W, X$, Y, Z$.
En la lista de variables que se desean imprimir pueden existir además de variables y/o constantes numéricas o alfanuméricas fórmulas y títulos o series de caracteres.
Cuando se envía a impresión un título o serie de caracteres éste debe estar entre comillas.
Las variables numéricas, alfanuméricas y títulos que aparecen en la lista que sigue a la proposición PRINT se deben separar por comas o por puntos y comas.
Cuando en una proposición PRINT no existe la lista de salida, el resultado es un renglón en blanco.
Cuando se utilizan comas para separar las variables o títulos que aparecen en la lista de impresión, el renglón de impresión se divide en cinco zonas de igual longitud (en algunos casos son cuatro zonas) y se imprime un valor en cada zona.
Cuando se desea imprimir los resultados más separados entre sí se puede utilizar comas consecutivas, sin que existan variables entre ellas.
Si por el contrario, el deseo es imprimir los resultados más cercanos entre sí, sin que intervengan las zonas, se utiliza el punto y coma.
Cuando se desea la impresión de una variable numérica que almacena una cantidad entera que consta de seis dígitos o menos, la computadora la imprimirá como tal, pero si dicha cantidad tiene más de seis dígitos, entonces la computadora la redondeará a seis dígitos y la cantidad aparecerá como número decimal con exponente.
Ahora, si la cantidad que se desea imprimir es decimal y tiene más de seis dígitos entonces la computadora redondea a seis dígitos y la cantidad aparece con exponente.
Si en una proposición PRINT después de la última variable o título que aparecen en la lista de impresión se coloca un punto y coma, esto indicará que los siguientes resultados que se envíen a impresión aparecerán en los espacios disponibles del mismo renglón de salida.
20 READ A,B,C,D ... 100 PRINT A;B, 110 PRINT C,D ... 200 DATA 826325, -54.80, 0.326425672, 0.0008645 Salida: 826325 -54.80 3.2642E+8 8.64500E-4 Si en el mismo programa sustituimos la línea 100 con: 100 PRINT A,B Salida: 826325 -54.80 3.2642E+8 8.64500E-4Por último nótese que las instrucciones 100 y 110 pueden sustituirse por: 100 PRINT A;B,C,D.
En casi todas las versiones del lenguaje BASIC se puede omitir la palabra LET.
Siempre a la izquierda del signo = en una proposición de asignación deberá ir una variable y a la derecha del signo = podrá ir otra variable, o bien una expresión algebraica, siendo factible también tener una serie de caracteres alfanuméricos debiendo ir delimitada con comillas.
Al escribir una proposición de asignación se debe tener cuidado de que si la variable a la izquierda del signo = es numérica, también debe ser numérica la expresión de la derecha, o bien si es alfanumérica la variable a la izquierda del signo = también deberá ser alfanumérica la expresión de la derecha del signo =.
La proposición INPUT cumple la misma función de la proposición READ, aunque de diferente manera, ya que los datos no están incluidos en el programa fuente sino que son proporcionados por el usuario del programa al momento de ejecución.
La proposición INPUT se forma con un número de proposición, la palabra INPUT y una lista de variables separadas por comas.
Cuando se utiliza la proposición INPUT durante la ejecución del programa, aparece el signo de interrogación, el cual indica solicitud de datos, quedando suspendida la ejecución hasta recibir los datos solicitados.
Esta proposición INPUT es muy útil en programas conversacionales. Al suministrar los datos se deben seguir las siguientes reglas:
2.- Los datos deben ir separados por comas.
3.- Si los datos son alfanuméricos y contienen espacios en blanco, comas o dos puntos se deben utilizar comillas para delimitar los grupos de datos, de no ser así se pueden omitir dichas comillas.
4.- Sólo se debe suministrar el valor de las variables que se incluyen en la proposición INPUT.
La proposición GOTO está formada por un número de proposición, seguido de la palabra GOTO y del número de proposición a la cual se desea transferir el control.
10 INPUT A,B 20 LET C=A+B 30 PRINT "VALOR DE C=";C 40 GOTO 10En este ejemplo se van ejecutando las proposiciones en el orden en que aparecen, pero al llegar a la proposición 40 se transfiere el control de ejecución a la proposición 10, volviendo nuevamente a ejecutarse las proposiciones que siguen a la proposición 10.
La proposición ON GOTO es una proposición de transferencia de control múltiple. La forma general de esta proposición es un número de proposición seguido de la palabra ON después una variable numérica o una expresión, enseguida GOTO y a continuación dos o más números de proposiciones de tal forma que dependiendo del valor de la variable numérica o de la expresión, se transferirá el control a la proposición que tenga el número que figura después del GOTO y que corresponda en orden al valor de la variable numérica o expresión.
10 READ A,B 20 LET C=A+B 30 ON C GOTO 40,10,70 40 PRINT "VALOR DE C=";C 50 PRINT "VALOR DE A=";A;"VALOR DE B=";B 60 GOTO 150 70 LET C=C/2.+A*2. ... 200 DATA 2,1En este ejemplo al ejecutarse la proposición 30, se transfiere el control a la proposición 70 ya que la variable C tiene el valor de 3.
Si la variable numérica o expresión que figura en una proposición ON GOTO no es un valor entero, se trunca la parte decimal sin redondeo. Así, si en el ejemplo anterior A vale 1 y B vale 0.6 entonces la variable de control C tiene el valor de 1.6 y al llegar a la proposición 30 la transferencia de control se dirige a la proposición 40 ya que al truncarse el valor de la variable C en lugar de 1.6 considera para efectos de esta proposición el valor 1.
La segunda transferencia de control consta de un número de proposición enseguida la palabra IF con la condición que se prueba y a continuación la palabra THEN con el número de proposición que corresponda a la que se desee se transfiera el control de ejecución en caso de que se cumpla la condición que se está probando.
En algunas versiones de BASIC se puede omitir la palabra THEN.
En algunas ocasiones cuando una serie de instrucciones dentro de un programa BASIC se desea que estas se ejecuten varias veces, es decir que haya iteraciones, se hace uso del IF THEN con el GOTO.
si A<2 Y=2x + 4 si A>=2 Y=4x -2 10 READ X,A 20 IF A>=2 THEN GOTO 50 30 LET Y=2.*X+4 40 GOTO 60 50 LET Y=4.0*X-2 60 PRINT "VALOR DE Y=";Y ... 200 DATA 5,1En la condición interviene lo que se denomina un operador de relación.
Igual a = Diferente a <> o >< Menor que < Menor o igual que <= Mayor que > Mayor o igual que >=
Se trabajarán con arreglos cuando las características del programa lo permitan, tales como listas de datos o resultados que se quieran asignar a una sola variable.
En BASIC se utiliza la proposición DIM para dimensionar las variables que se trabajan como arreglos en un programa. Esta proposición está formada por el número de proposición seguido de la palabra DIM, y la lista de variables que figuran como arreglos separadas por comas y entre paréntesis el número de localidades para cada variable. Si el arreglo es de dos o más dimensiones, los números de localidades deberán estar separados por comas.
5 DIM A(10) 10 DIM V(20), A(10,10)Al utilizar la proposición DIM la computadora aparta un conjunto de localidades de la memoria, en los cuales se alojarán los elementos del arreglo.
Aunque la proposición DIM puede estar colocada en cualquier lugar del programa con la condición de que figure antes de la instrucción donde los arreglos son utilizados, conviene por claridad y facilidad escribirla al inicio del programa fuente.
En BASIC se asigna automáticamente 11 localidades a todas las variables que se vayan a trabajar como arreglos de una sola dimensión y 121 localidades (11x11) a todas las variables que se tengan con dos dimensiones, de esta forma cada índice puede variar de 0 hasta 10.
Esto es que si una variable que se trabaja como arreglo de una sola dimensión no excede el número de localidades que el sistema le asigna en forma automática, no es necesario utilizar la proposición DIM para asignarle localidades en memoria; sin embargo es conveniente utilizar la proposición DIM, aunque el arreglo no exceda de 11 elementos, debido a que de esta manera se ahorra memoria.
Cuando se tienen arreglos con dos dimensiones, se debe tener cuidado de no considerar el valor de 121 localidades como número total ya que 121 se obtiene del producto de 11 renglones por 11 columnas; y si alguna de las dimensiones exceda de 11 aunque la otra dimensión sea menor a 11 y el producto sea menor que 121, habrá que utilizar necesariamente la proposición DIM.
El número de localidades es mayor que el que figura en las variables de la proposición DIM debido a que se considera el índice cero.
Para marcar el fin de dicho grupo se utiliza la instrucción NEXT.
Entre las palabras FOR y TO se debe incluir una variable numérica sin índice cuyo valor varía cada vez que se ejecuta el grupo de proposiciones.
El número de veces que se ejecuta el grupo de instrucciones está determinado por el valor inicial y final de la variable que figuran entre FOR y TO.
... 80 FOR I=1 TO 10 90 LET A=A+I 100 PRINT "VALOR DE A=";A 110 NEXT I ...En este ejemplo las instrucciones 90 y 100 se repetirán diez veces; es decir la variable I se incrementará en una unidad, iniciándose con el valor uno hasta llegar al valor diez.
Si se desea incrementar la variable en valor diferente de uno se agrega la palabra STEP a la proposición FOR TO.
... 80 FOR I=1 TO 10 STEP 2 90 LET A=A+I 100 PRINT "VALOR DE A=";A 110 NEXT I ...En este ejemplo las proposiciones 90 y 100 se ejecutarán seis veces para valores de I=1,3,5,7,9 y 11.
La variable que figura entre FOR y TO no tiene que ser necesariamente un entero positivo, sino que éste puede tomar valores negativos y aún fraccionarios; aún más, el valor inicial y final puede expresarse como variable o como fórmula. Esto es igual para la palabra STEP.
80 FOR X=A/2 TO B^2+C STEP D+E ... 120 NEXT XPara indicar el final del grupo de instrucciones que se están repitiendo se utiliza la proposición NEXT precedida por un número de proposición y seguida por la variable que figura en la proposición FOR TO.
Las reglas que se deben cumplir cuando se utilizan las proposiciones FOR TO y la instrucción NEXT, en un grupo de instrucciones que se van a repetir varias veces son las siguientes:
2.- Se puede transferir el control desde el grupo de instrucciones que se están repitiendo hacia afuera de dicho grupo, pero no desde afuera hacia adentro.
2.- Un grupo externo y otro interno no pueden tener la misma variable en el FOR TO.
3.- Cada grupo interno debe quedar completamente contenido dentro del grupo externo.
| 2 4 6 | | 12 | | 8 2 5 | = | 15 | | 1 9 3 | | 13 | 10 DIM A(3,3), R(3) 20 FOR I=1 TO 3 30 FOR J=1 TO 3 40 READ A(I,J) 50 R(I)=R(I)+A(I,J) 60 NEXT J 70 NEXT I 80 PRINT "VECTOR COLUMNA ES" 90 PRINT 100 FOR K=1 TO 3 110 PRINT R(K) 120 NEXT K 130 DATA 2,4,6,8,2,5,1,9,3 140 END
La forma de la proposición MAT READ consta de un número de proposición seguida de las palabras MAT READ y enseguida los nombres de los arreglos que fueron previamente dimensionados.
La proposición MAT PRINT se escribe en forma similar a la proposición anterior.
| 1 4 9 | | 20 30 40 | X = | 7 2 3 | Y = | 10 20 30 | | 8 6 5 | | 15 30 45 | 10 DIM X(3,3), Y(3,3) 20 MAT READ X,Y 30 PRINT "MATRIZ X" 40 MAT PRINT X 50 PRINT 60 PRINT "MATRIZ Y" 70 MAT PRINT Y 80 DATA 1,4,9,7,2,3,8,6,6 90 DATA 20,30,40,10,20,30,15,30,45 100 END
La proposición para invocar la subrutina se llama GOSUB la cual consiste en un número de proposición, la palabra GOSUB y el número de la primera proposición de dicha subrutina.
La proposición para regresar el control a la proposición inmediatamente siguiente a la del GOSUB que invocó dicha subrutina, es RETURN.
Es válido invocar una subrutina desde otra subrutina es decir se puede invocar una subrutina desde el programa principal y en la subrutina invocada llamar a ejecución otra u otras subrutinas.
50 GOSUB 150 ... 140 END 150 READ A,B ... 190 GOSUB 400 ... 220 RETURN 400 FOR I=1 TO N ... 440 NEXT I ... 500 RETURNNótese que una subrutina puede empezar con cualquier proposición, sin embargo la última proposición debe ser una proposición RETURN, como se observa, consiste de un número de proposición y la palabra RETURN la cual hace que se transfiera el control de regreso a la siguiente proposición de la que invocó a dicha subrutina.
Cuando la proposición se va a utilizar en repetidas ocasiones, se puede emplear lo que se conoce con el nombre de función, en forma similar al uso de las llamadas funciones matemáticas.
Una función consta de una sola instrucción, mientras que una subrutina puede constar de varias instrucciones.
En BASIC una función se forma con un número de proposición, la palabra DEF y la definición de dicha función.
La definición de la función consta de la palabra DEF seguida del nombre de la función seguida de un signo = y éste a su vez seguido de una constante, una variable o una expresión; si son necesarios argumentos estos deben aparecer inmediatamente después del nombre de la función encerrados entre paréntesis y separados por comas. Sólo es permisible utilizar variables sin índice como argumentos en la definición de una función.
Mediante la proposición DEF se pueden definir funciones numéricas o alfanuméricas.
Si la función es numérica el nombre de la función debe consistir de tres letras, las primeras dos de ellas deben ser FN. Si es alfanumérica, además, debe terminar con un signo de pesos ($).
Aunque una proposición DEF puede aparecer en cualquier lugar de un programa, se recomienda colocarlas al inicio del programa.
10 DEF FNA(X,Y)=B*X+E*Y^2 ... 50 LET B=5 60 LET C=10 70 LET D=FNA(S,T) <-- Equivale a D=5*S+10*T^2